package bindings;
import log.Log;
import events.Event;

public abstract cclass ActivarLog {
	abstract pointcut setLog();
	
	before(): setLog(){
		//System.out.println("Se ejecuto el log");
		Colaboracion v2c = new Colaboracion();
		v2c.activaEnvuelto(new Log());
	}
	
	public cclass Colaboracion wraps Log{
		public void envuelve(){
			wrappee.execLog();
		}
	
		public void activaEnvuelto(Log l){
			Colaboracion(l).envuelve();
		}
	}
}

public deployed cclass AddLog extends ActivarLog{
	pointcut setLog():
		call(boolean *.accion());
		
}


public deployed cclass AddLogActivar extends ActivarLog{
	pointcut setLog():
		call(boolean *.activar());
		
}

public deployed cclass AddLogDetener extends ActivarLog{
	pointcut setLog():
		call(boolean *.desactivar());
		
}